Repository navigation
ci(codecov): upload with OIDC instead of CODECOV_TOKEN - #161
Merged
Merged
Conversation
|
OX Security reviewed this pull request — nothing to fix.
Branch |
idelsink
marked this pull request as ready for review
November 13, 2026 15:40
idelsink
enabled auto-merge (squash)
November 13, 2026 15:40
melifaro
approved these changes
Nov 13, 2026
|
Codecov Report✅ All modified and coverable lines are covered by tests. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Why
OP-3890: the org secret
CODECOV_TOKENis not rotated. Instead, every repo uploads to Codecov with OIDC, and then the token is deleted. aignostics/peng-dev-random#255 proved that an OIDC upload works for this org. Reference PR: aignostics/pdd-mapper#89.How
_test.ymland_scheduled-test-daily.ymlusecodecov/codecov-actionv7.1.1 withuse_oidc: true. With OIDC, the action ignores any token.codecov/test-results-actionis archived. The test results upload is nowcodecov-actionwithreport_type: test_results.CODECOV_TOKENis gone from theworkflow_callsecrets and from the callers (ci-cd.yml,test-scheduled-{production,staging}-daily.yml).id-token: write. A called workflow cannot get more permissions than its caller gives (GitHub docs).actions.lockis edited by hand (thetest-results-actionentries are removed), becausegh actions-lockrewrites every SHA pin in the repo to a tag..github/AGENTS.mdno longer lists the token.<fork-owner>:<branch>(action.yml). Codecov accepts this upload for a public repo (Codecov tokens).After all repos in OP-3890 merge, the org secret
CODECOV_TOKENis deleted.Verified
git grep -i codecov_tokenandgit grep test-results-actionin.githubreturn nothing.gh actions-lock --verify: all 21 workflows valid.pinact run --checkon the changed files: clean.--offline --persona pedantic): the same findings as onmain(same rule and file counts).test / testpasses. Both Codecov steps logToken length: 2371(the OIDC token). The coverage step logsFound 6 coverage files to report, thenUpload queued for processing complete.Not verified
This repository is deactivatedto the upload and to the test results commit, after thequeued ... completeline. The same message is in the log of the latestmainrun (token upload), so it is not caused by this change. Someone with Codecov admin rights has to reactivate the repo at https://app.codecov.io/github/aignostics/foundry-python-core/config/general. The steps stay green (fail_ci_if_erroris off).report_type: test_resultsfinds them._scheduled-test-daily.yml) do not run on a PR. They run first on the next daily schedule after the merge.